#if !defined(AFX_PICTUREBUTTON_H__B94BA4A1_5167_11D3_84F7_444553540000__INCLUDED_)
#define AFX_PICTUREBUTTON_H__B94BA4A1_5167_11D3_84F7_444553540000__INCLUDED_

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
// PictureButton.h : header file
//

/////////////////////////////////////////////////////////////////////////////
// CPictureButton window

class CPictureButton : public CButton
{
// Construction
public:
	CPictureButton(UINT idBitmap, UINT idMask, CSize &size);

// Attributes
public:

// Operations
public:

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CPictureButton)
	public:
	virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
	virtual BOOL PreTranslateMessage(MSG* pMsg);
	protected:
	virtual void PreSubclassWindow();
	//}}AFX_VIRTUAL

// Implementation
public:
	CBitmap m_bmpMask;
	virtual ~CPictureButton();

	// Generated message map functions
protected:
	//{{AFX_MSG(CPictureButton)
	afx_msg void OnMouseMove(UINT nFlags, CPoint point);
	afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
	afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
	afx_msg UINT OnNcHitTest(CPoint point);
	//}}AFX_MSG

	DECLARE_MESSAGE_MAP()
private:
	CToolTipCtrl m_tooltip;
	UINT m_idMask;
	UINT m_idBitmap;
	UINT m_what;
	bool m_bIsUpdated;
	bool m_bIsFired;
	CSize m_bitmapSize;
	CDC m_vDC;
	CBitmap m_bitmap;

	virtual void Fire( bool bOn );
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_PICTUREBUTTON_H__B94BA4A1_5167_11D3_84F7_444553540000__INCLUDED_)
